package com.itheima;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;

public class MapDemo {
    public static void main(String[] args) {
        test3();


    }

    private static void test0() {
        Map<String, Double> map = new HashMap<>();
        map.put("张三", 100.0);
        map.put("李四", 200.0);
        map.put("王五", 300.0);
        map.put("赵六", 400.0);
        System.out.println(map);

        map.remove("张三");
        System.out.println(map);

        /*map.clear();
        System.out.println(map);*/
        boolean b1 = map.containsKey("李四");
        System.out.println(b1);
        boolean b2 = map.containsValue(100.0);
        System.out.println(b2);

        boolean empty = map.isEmpty();
        System.out.println(empty);
        int size = map.size();
        System.out.println(size);
    }
    //map的第一种遍历方式 键找值
    public static void test1() {
        Map<String, Double> map = new HashMap<>();
        map.put("张三", 100.0);
        map.put("李四", 200.0);
        map.put("王五", 300.0);
        map.put("赵六", 400.0);
        Set<String> keySet = map.keySet();
        //遍历keySet集合
        for (String key : keySet) {
            //根据key获取value
            Double value = map.get(key);
            System.out.println(key + "=" + value);
        }
    }
    //map的第二种遍历方式 ：通过Entry对象
    public static void test2() {
        Map<String, Double> map = new HashMap<>();
        map.put("张三", 100.0);
        map.put("李四", 200.0);
        map.put("王五", 300.0);
        map.put("赵六", 400.0);
        //将map集合转换为set集合 将map中的key value 封装为Entry对象
        Set<Map.Entry<String, Double>> entries = map.entrySet();
        //遍历set集合
        for (Map.Entry<String, Double> entry : entries) {
            String  key = entry.getKey();
            Double value = entry.getValue();
            System.out.println(key + ":" + value);
        }
    }
    //map的第三种遍历方式 lambda表达式
    public static void test3(){
        Map<String, Double> map = new HashMap<>();
        map.put("张三", 100.0);
        map.put("李四", 200.0);
        map.put("王五", 300.0);
        map.put("赵六", 400.0);
        map.forEach((key, value) -> System.out.println(key + "=" + value));
    }
}